package tulingxueyuan117;

/**
 * Author: Zhang Dongwei
 * Date: 2023/3/15 21:10
 * 给定方法 rand7 可生成 [1,7] 范围内的均匀随机整数，试写一个方法 rand10 生成 [1,10] 范围内的均匀随机整数。
 *
 * 你只能调用 rand7() 且不能调用其他方法。请不要使用系统的 Math.random() 方法。
 *
 * 每个测试用例将有一个内部参数 n，即你实现的函数 rand10() 在测试时将被调用的次数。请注意，这不是传递给 rand10() 的参数。
 */
public class p67_用rand7实现rand10_470 {

    public static void main(String[] args) {
        int res = rand10();
        System.out.println(res);
    }

    public static int rand10() {
        int num = (rand7()-1)*7 + rand7();
        while (num>40){
            num = (rand7()-1)*7 + rand7();
        }
        return num%10 + 1;
    }

    public static int rand7(){
        return 1+ (int)(7*Math.random());
    }
}
